package com.ruoyi.program.mapper;

import java.util.List;
import com.ruoyi.program.domain.WxExercise;
import com.ruoyi.program.domain.WxOptionValue;

/**
 * 知识库Mapper接口
 *
 * @author ruoyi
 * @date 2025-10-26
 */
public interface WxExerciseMapper
{
    /**
     * 查询知识库
     *
     * @param exerciseId 知识库主键
     * @return 知识库
     */
    public WxExercise selectWxExerciseByExerciseId(Long exerciseId);

    /**
     * 查询知识库列表
     *
     * @param wxExercise 知识库
     * @return 知识库集合
     */
    public List<WxExercise> selectWxExerciseList(WxExercise wxExercise);

    /**
     * 新增知识库
     *
     * @param wxExercise 知识库
     * @return 结果
     */
    public int insertWxExercise(WxExercise wxExercise);

    /**
     * 修改知识库
     *
     * @param wxExercise 知识库
     * @return 结果
     */
    public int updateWxExercise(WxExercise wxExercise);

    /**
     * 删除知识库
     *
     * @param exerciseId 知识库主键
     * @return 结果
     */
    public int deleteWxExerciseByExerciseId(Long exerciseId);

    /**
     * 批量删除知识库
     *
     * @param exerciseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWxExerciseByExerciseIds(Long[] exerciseIds);

    /**
     * 批量删除知识选项
     *
     * @param exerciseIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteWxOptionValueByExerciseIds(Long[] exerciseIds);

    /**
     * 批量新增知识选项
     *
     * @param wxOptionValueList 知识选项列表
     * @return 结果
     */
    public int batchWxOptionValue(List<WxOptionValue> wxOptionValueList);


    /**
     * 通过知识库主键删除知识选项信息
     *
     * @param exerciseId 知识库ID
     * @return 结果
     */
    public int deleteWxOptionValueByExerciseId(Long exerciseId);
}
